<!DOCTYPE html>
<html>

<head lang="en">
    <meta charset="UTF-8">
    <title>注册</title>
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport"
          content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">
    <meta name="format-detection" content="telephone=no">
    <meta name="renderer" content="webkit">
    <meta http-equiv="Cache-Control" content="no-siteapp"/>

    <link rel="stylesheet" href="../AmazeUI-2.4.2/assets/css/amazeui.min.css"/>
    <link href="../css/dlstyle.css" rel="stylesheet" type="text/css">
    <script src="../AmazeUI-2.4.2/assets/js/jquery.min.js"></script>
    <script src="../AmazeUI-2.4.2/assets/js/amazeui.min.js"></script>
    <script src="../js/vue.js"></script>
    <script src="../js/axios.js"></script>
</head>

<body>

<div class="login-boxtitle">
    <a href="home/demo.html"><img alt="" src="../images/logobig.png"/></a>
</div>

<div class="res-banner">
    <div class="res-main" id="register">
        <div class="login-banner-bg"><span></span><img src="../images/big.jpg"/></div>
        <div class="login-box">

            <div class="am-tabs" id="doc-my-tabs">
                <ul class="am-tabs-nav am-nav am-nav-tabs am-nav-justify">
                    <li class="am-active"><a href="">邮箱注册</a></li>
                    <li><a href="">手机号注册</a></li>
                </ul>

                <div class="am-tabs-bd">
                    <div class="am-tab-panel am-active">
                        <form method="post">

                            <div class="user-email">
                                <label for="email"><i class="am-icon-envelope-o"></i></label>
                                <input type="email" name="" v-model="eform.email" id="email" placeholder="请输入邮箱账号">
                            </div>
                            <div class="verification">
                                <label for="code"><i class="am-icon-code-fork"></i></label>
                                <input type="tel" name="" id="eamilCode" v-model="eform.ecode" placeholder="请输入验证码">
                                <button type="button" :disabled="eflag" class="btn" @click="getEmailCode"
                                        id="dyMobileButton">
                                    {{emailNum}}
                                </button>
                            </div>
                            <div class="user-pass">
                                <label for="password"><i class="am-icon-lock"></i></label>
                                <input type="password" name="" v-model="eform.epassword"
                                       placeholder="设置密码">
                            </div>
                            <div class="user-pass">
                                <label for="passwordRepeat"><i class="am-icon-lock"></i></label>
                                <input type="password" name="" v-model="eform.erepassword"
                                       placeholder="确认密码">
                            </div>

                        </form>

                        <div class="login-links">
                            <label for="reader-me">
                                <input  type="checkbox" v-model="ceflag"> 点击表示您同意商城《服务协议》
                            </label>
                        </div>
                        <div class="am-cf">
                            <input type="submit" name="" @click="emailRegister" value="注册"
                                   class="am-btn am-btn-primary am-btn-sm am-fl">
                        </div>

                    </div>

                    <div class="am-tab-panel">
                        <form method="post">
                            <div class="user-phone">
                                <label for="phone"><i class="am-icon-mobile-phone am-icon-md"></i></label>
                                <input type="tel" name="" id="phone" v-model="form.phone" placeholder="请输入手机号">
                            </div>
                            <div class="verification">
                                <label for="code"><i class="am-icon-code-fork"></i></label>
                                <input type="tel" name="" id="code" v-model="form.code" placeholder="请输入验证码">
                                <button type="button" :disabled="flag" class="btn" @click="getCode" id="dyMobileButton">
                                    {{num}}
                                </button>
                            </div>
                            <div class="user-pass">
                                <label for="password"><i class="am-icon-lock"></i></label>
                                <input type="password" name="" v-model="form.password" id="password" placeholder="设置密码">
                            </div>
                            <div class="user-pass">
                                <label for="passwordRepeat"><i class="am-icon-lock"></i></label>
                                <input type="password" name="" v-model="form.repassword" id="passwordRepeat"
                                       placeholder="确认密码">
                            </div>
                        </form>
                        <div class="login-links">
                            <label for="reader-me">
                                <input id="reader-me" type="checkbox" v-model="cflag"> 点击表示您同意商城《服务协议》
                            </label>
                        </div>
                        <div class="am-cf">
                            <input type="submit" name="" @click="register" value="注册"
                                   class="am-btn am-btn-primary am-btn-sm am-fl">
                        </div>

                        <hr>
                    </div>


                </div>
            </div>

        </div>
    </div>

    <script>
        $(function () {
            $('#doc-my-tabs').tabs();
        })

        Vue.createApp({
            setup() {
                const checkEmail = () => {
                    if (eform.email != null && eform.email != '') {
                        return true
                    }
                    alert("请输入邮箱")
                    return false
                }
                const checkECode = () => {
                    if (eform.ecode != null && eform.ecode != '') {
                        return true
                    }
                    alert("请输入验证码")
                    return false
                }
                const checkEPassword = () => {
                    if (eform.epassword != null && eform.epassword != '') {
                        return true
                    }
                    alert("请输入密码")
                    return false
                }
                const checkERePassword = () => {
                    if (eform.erepassword != null && eform.erepassword != '' && eform.epassword === eform.erepassword) {
                        return true
                    }
                    alert("确认密码与密码不一致，请重新输入")
                    return false
                }

                const eform = Vue.reactive({
                    email: '',
                    ecode: '',
                    epassword: '',
                    erepassword: '',
                })
                const ceflag = Vue.ref(false)
                const eflag = Vue.ref(false)
                const emailNum = Vue.ref('获取')

                //邮件点击获取验证码按钮
                const getEmailCode = () => {
                    if (checkEmail()) {
                        axios({
                            url: "http://localhost:8080/user/ecode/" + form.email,
                            method: 'get',
                        }).then(res => {
                            alert(res.data.msg)
                        }).catch(e => {
                            alert(e)
                        })
                        //设置点击获取后60秒倒计时
                        eflag.value = true
                        emailNum.value = 60
                        let clock = setInterval(() => {
                            emailNum.value--
                            if (emailNum.value <= 0) {
                                clearInterval(clock)
                                emailNum.value = '获取'
                                eflag.value = false
                            }
                        }, 1000)
                    }
                }

                //邮件点击注册
                const emailRegister = () => {
                    if (ceflag.value) {
                        if (checkEmail() && checkECode() && checkEPassword() && checkERePassword()) {
                            axios({
                                url: "http://localhost:8080/user/register",
                                method: 'post',
                                params: {
                                    email: eform.email,
                                    code: eform.ecode,
                                    password: eform.epassword,
                                    repassword: eform.erepassword,
                                }
                            }).then(res => {
                                alert(res.data.msg)
                                location.href = "/login.html"
                            }).catch(e => {
                                alert("注册失败" + e)
                            })
                        }
                    } else {
                        alert("请勾选同意服务条款再注册！")
                    }
                }
                return {
                    emailNum,
                    eform,
                    eflag,
                    ceflag,
                    getEmailCode,
                    emailRegister,
                }
            }
        }).mount("#emailRegister")

        Vue.createApp({
            setup() {
                const checkEmail = () => {
                    if (eform.email != null && eform.email != '') {
                        return true
                    }
                    alert("请输入邮箱")
                    return false
                }
                const checkECode = () => {
                    if (eform.ecode != null && eform.ecode != '') {
                        return true
                    }
                    alert("请输入验证码")
                    return false
                }
                const checkEPassword = () => {
                    if (eform.epassword != null && eform.epassword != '') {
                        return true
                    }
                    alert("请输入密码")
                    return false
                }
                const checkERePassword = () => {
                    if (eform.erepassword != null && eform.erepassword != '' && eform.epassword === eform.erepassword) {
                        return true
                    }
                    alert("确认密码与密码不一致，请重新输入")
                    return false
                }

                const checkPhone = () => {
                    if (form.phone != null && form.phone != '') {
                        return true
                    }
                    alert("请输入手机号")
                    return false
                }
                const checkCode = () => {
                    if (form.code != null && form.code != '') {
                        return true
                    }
                    alert("请输入验证码")
                    return false
                }
                const checkPassword = () => {
                    if (form.password != null && form.password != '') {
                        return true
                    }
                    alert("请输入密码")
                    return false
                }
                const checkRePassword = () => {
                    if (form.repassword != null && form.repassword != '' && form.password === form.repassword) {
                        return true
                    }
                    alert("确认密码与密码不一致，请重新输入")
                    return false
                }

                const form = Vue.reactive({
                    phone: '',
                    code: '',
                    password: '',
                    repassword: '',
                })

                const eform = Vue.reactive({
                    email: '',
                    ecode: '',
                    epassword: '',
                    erepassword: '',
                })

                const ceflag = Vue.ref(false)
                const eflag = Vue.ref(false)
                const emailNum = Vue.ref('获取')

                const cflag = Vue.ref(false)
                const flag = Vue.ref(false)
                const num = Vue.ref('获取')

                //邮件点击获取验证码按钮
                const getEmailCode = () => {
                    if (checkEmail()) {
                        axios({
                            url: `http://localhost:8080/user/ecode/${form.email}`,
                            method: 'get',
                        }).then(res => {
                            alert(res.data.msg)
                        }).catch(e => {
                            alert(e)
                        })
                        //设置点击获取后60秒倒计时
                        eflag.value = true
                        emailNum.value = 60
                        let clock = setInterval(() => {
                            emailNum.value--
                            if (emailNum.value <= 0) {
                                clearInterval(clock)
                                emailNum.value = '获取'
                                eflag.value = false
                            }
                        }, 1000)
                    }
                }

                //邮件点击注册
                const emailRegister = () => {
                    if (ceflag.value) {
                        if (checkEmail() && checkECode() && checkEPassword() && checkERePassword()) {
                            axios({
                                url: "http://localhost:8080/user/register1",
                                method: 'post',
                                data: {
                                    email: eform.email,
                                    code: eform.ecode,
                                    password: eform.epassword,
                                    repassword: eform.erepassword,
                                }
                            }).then(res => {
                                alert(res.data.msg)
                                location.href = "/login.html"
                            }).catch(e => {
                                alert("注册失败" + e)
                            })
                        }
                    } else {
                        alert("请勾选同意服务条款再注册！")
                    }
                }

                //点击获取验证码按钮
                const getCode = () => {
                    if (checkPhone()) {
                        axios({
                            url: "http://localhost:8080/user/code/" + form.phone,
                            method: 'get',
                        }).then(res => {
                            alert(res.data.msg)
                        }).catch(e => {
                            alert(e)
                        })
                        //设置点击获取后60秒倒计时
                        flag.value = true
                        num.value = 60
                        let clock = setInterval(() => {
                            num.value--
                            if (num.value <= 0) {
                                clearInterval(clock)
                                num.value = '获取'
                                flag.value = false
                            }
                        }, 1000)
                    }
                }

                //点击注册
                const register = () => {
                    if (cflag.value) {
                        if (checkPhone() && checkCode() && checkPassword() && checkRePassword()) {
                            axios({
                                url: "http://localhost:8080/user/register",
                                method: 'post',
                                data: {
                                    phone: form.phone,
                                    code: form.code,
                                    password: form.password,
                                    repassword: form.repassword,
                                }
                            }).then(res => {
                                if (res.success){
                                    alert(res.data.msg)
                                    location.href = "/login.html"
                                }else {
                                    alert(res.data.msg)
                                }
                            }).catch(e => {
                                alert("注册失败" + e)
                            })
                        }
                    } else {
                        alert("请勾选同意服务条款再注册！")
                    }
                }


                return {
                    num,
                    form,
                    flag,
                    cflag,
                    getCode,
                    register,
                    emailNum,
                    eform,
                    eflag,
                    ceflag,
                    getEmailCode,
                    emailRegister,
                }
            }
        }).mount("#register")
    </script>

    <div class="footer ">
        <div class="footer-hd ">
            <p>
                <a href="# ">恒望科技</a>
                <b>|</b>
                <a href="# ">商城首页</a>
                <b>|</b>
                <a href="# ">支付宝</a>
                <b>|</b>
                <a href="# ">物流</a>
            </p>
        </div>
        <div class="footer-bd ">
            <p>
                <a href="# ">关于恒望</a>
                <a href="# ">合作伙伴</a>
                <a href="# ">联系我们</a>
                <a href="# ">网站地图</a>
                <em>© 2015-2025 Hengwang.com 版权所有. 更多模板 <a href="http://www.cssmoban.com/" target="_blank" title="模板之家">模板之家</a>
                    - Collect from <a href="http://www.cssmoban.com/" title="网页模板" target="_blank">网页模板</a></em>
            </p>
        </div>
    </div>
</body>

</html>
